package com.rzdata.poct.system.domain.business.bo;

import com.rzdata.poct.common.core.domain.BaseEntity;
import com.rzdata.poct.common.core.validate.AddGroup;
import com.rzdata.poct.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 【请填写功能名称】业务对象 poct_training_records
 *
 * @author ruoyi
 * @date 2021-09-09
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("【请填写功能名称】业务对象")
public class PoctTrainingRecordsBo extends BaseEntity {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Long id;

    /**
     * 培训编号
     */
    @ApiModelProperty(value = "培训编号")
    private String trainingNo;

    /**
     * 培训名称
     */
    @ApiModelProperty(value = "培训名称", required = true)
    @NotBlank(message = "培训名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String trainingName;

    /**
     * 项目ID
     */
    @ApiModelProperty(value = "项目ID", required = true)
    @NotNull(message = "项目ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long projectId;

    /**
     * 文件类型
     */
    @ApiModelProperty(value = "文件类型")
    private Long fileType;

    /**
     * 培训地点
     */
    @ApiModelProperty(value = "培训地点")
    private String local;

    /**
     * 讲师
     */
    @ApiModelProperty(value = "讲师")
    private String lecturer;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    /**
     * 培训内容描述
     */
    @ApiModelProperty(value = "培训内容描述")
    private String trainingDescribe;

    /**
     * 文件ID
     */
    @ApiModelProperty(value = "文件ID")
    private String fileId;

    /**
     * 部门Id
     */
    @ApiModelProperty("部门Id")
    private Long deptId;

    @ApiModelProperty("培训时长")
    private Long elapsedTime;

    /**
     * 培训类型
     */
    @ApiModelProperty(value = "培训类型")
    private String type;

    /**
     * 培训参与人员
     */
    @ApiModelProperty(value = "培训参与人员")
    private String student;


    /**
     * 分页大小
     */
    @ApiModelProperty("分页大小")
    private Integer pageSize;

    /**
     * 当前页数
     */
    @ApiModelProperty("当前页数")
    private Integer pageNum;

    /**
     * 排序列
     */
    @ApiModelProperty("排序列")
    private String orderByColumn;

    /**
     * 排序的方向desc或者asc
     */
    @ApiModelProperty(value = "排序的方向", example = "asc,desc")
    private String isAsc;

}
